
// 防抖函数
export function debounce(func, delay = 50){
  // 第一次进来：没有timer
  let timer = null
  return function (...args){
    // 判断上一个timer的延迟时间有没有到,没有到说明事件没执行timer还存在,先把它关掉不让他发送
    if(timer) clearTimeout(timer)
    // 然后再创建一个新的timer， 让他重新延迟调用
    timer = setTimeout(() => {
      // console.log('我是防抖函数');
      func.apply(this, args)
    }, delay)
  }
}


// 时间转换函数
export function formatDate(date, fmt){
  // 'yyyy-MM-dd hh:mm:ss'
  // 1.获取年份
  if(/(y+)/.test(fmt)){
    fmt = fmt.replace(RegExp.$1,(date.getFullYear() + '').substr(4 - RegExp.$1.length))
  }

  // 2.获取月日等
  let o = {
    'M+':date.getMonth() + 1,
    'd+':date.getDate(),
    'h+':date.getHours(),
    'm+':date.getMinutes(),
    's+':date.getSeconds(),
  }
  for(let k in o){
    if(new RegExp(`(${k})`).test(fmt)){
      let str = o[k] + ''   //加 一个‘’让o[k]直接转换为字符串
      fmt = fmt.replace(RegExp.$1,(RegExp.$1.length === 1) ? str : padLeftZero(str))
    }
  }
  return fmt
}

function padLeftZero(str){
  return ('00' + str).substr(str.length)
}

